package com.dszq.apis.wemedia;

import com.dszq.model.common.dtos.ResponseResult;
import com.dszq.model.wemedia.pojos.WmChannel;
import com.dszq.model.wemedia.pojos.WmUser;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * Feign客户端接口，用于与名为"leadnews-wemedia"的服务进行交互。
 */
@FeignClient("leadnews-wemedia")
public interface IWemediaClient {
    /**
     * 通过用户名查询用户信息。
     *
     * @param name 用户名，路径变量。
     * @return 返回匹配的用户信息，如果找不到则返回null。
     */
    @GetMapping("/api/v1/user/selectUserByName/{name}")
    public WmUser selectUserByName(@PathVariable String name);

    /**
     * 保存WmUser信息
     *
     * @param wmUser1 WmUser对象，包含需要保存的用户信息
     * @return ResponseResult 返回操作结果，成功或失败
     */
    @PostMapping("/api/v1/wmUser/save")
    public ResponseResult saveWmUSer(@RequestBody WmUser wmUser1);
    /**
     * 查询所有频道信息
     *
     * @return ResponseResult 返回频道信息的查询结果，封装了状态码和数据
     */
    @GetMapping("/api/v1/channel/list")
    public List<WmChannel> findAllChannels();
}
